home *** CD-ROM | disk | FTP | other *** search
- ;BALL NACH $50280
- ;GCC INC. 88
- STARTUP:
- MOVEM.L D0-D7/A0-A6,-(A7)
- LEA $60000,A0
- MOVE.W #$3000,D1
- CLEAR: MOVE.W #$0000,(A0)+
- DBRA D1,CLEAR
- LEA $50000,A0
- MOVE.W #$280/2,D0
- GCCCLX:
- MOVE.W #$00,(A0)+
- DBF D0,GCCCLX
- MOVE.L $4,A6
- LEA GFXNAME,A1
- JSR -408(A6)
- MOVE.L D0,GFXBASE
- MOVE.L $4,A6
- MOVE.L GFXBASE,A0
- ADD.L #$32,A0
- MOVE.L (A0),OLDCOPPER
- MOVE.L #LISTE,(A0)
- MOVE.W #$0020,$DFF096
- MOVE.L #$8010,$DFF09A
- MOVE.L $4,A6
- LEA GFXNAME,A1
- JSR -408(A6)
- MOVE.L D0,GFXBASE
- MOVE.L $4,A6
- JSR -132(A6)
- MOVE.W #$0020,$DFF09A
- MOVE.L $6C,OLDIRQ
- MOVE.L $68,OLDTASTIRQ
- MOVE.L #NEWTASTIRQ,$68
- MOVE.L #IRQNEW,$6C
- MOVE.W #$8020,$DFF09A
- BRA MOUSE
-
- IRQNEW:
- MOVEM.L D0-D7/A0-A6,-(SP)
- BSR.L BLITOBJECT
- JSR SCROLL
- JSR RASTER
- MOVEM.L (SP)+,D0-D7/A0-A6
- DC.W $4EF9
- OLDIRQ:
- DC.L 0
-
- NEWTASTIRQ:
- MOVEM.L D0-D7/A0-A6,-(SP)
- MOVEM.L (SP)+,D0-D7/A0-A6
- DC.W $4EF9
- OLDTASTIRQ:
- DC.L 0
- MOD: DC.L 0
- MOUSE:
- CMP.B #$7F,$BFEC01
- BNE.S MOUSE
- MOVE.L $4,A6
- MOVE.L GFXBASE,A1
- JSR -414(A6)
- MOVE.L GFXBASE,A0
- ADD.L #$32,A0
- MOVE.W #$0080,$DFF096
- MOVE.L OLDCOPPER,(A0)
- MOVE.W #$8080,$DFF096
- MOVE.L OLDIRQ,$6C
- MOVE.L OLDTASTIRQ,$68
- MOVEM.L (A7)+,D0-D7/A0-A6
- RTS
- LISTE:
- DC.W $0180,$0000
- DC.W $2B01,$FFFE,$0102,
- REG: DC.W $00FF
- DC.W $008E,$2C80,$0090,$24C1,
- DC.W $0092,$0030,$0094,$00D8
- DC.W $0100,$2200,$0186,$0F00
- DC.W $00E0,$0006,$00E2,
- P1: DC.W $0000
- DC.W $00E4,$0006,$00E6,
- P2: DC.W $0028
- DC.W $0182,$0FFF,$0184,$0FFF
- DC.W $0108,$0024,$010A,$0024
- COPPI: BLK.W 20*4
- DC.W $FFFF,$FFFE
- OLDCOPPER: DC.L 0
- GFXNAME: DC.B "graphics.library",0
- EVEN
- GFXBASE: DC.L 0
- POSX: DC.L 0
- ADDIT: DC.L 0
- CHANGEPOS:
- MOVE.L ZEIGER,$DFF050
- MOVE.L D1,$DFF054
- MOVE.L #$FFFFFFFF,$DFF044
- MOVE.L #$09F00000,$DFF040
- MOVE.L #$00200020,$DFF064
- ;123456
- MOVE.W #%0001111100000100,$DFF058
- BLT4: BTST #$06,$DFF002
- BNE.S BLT4
- RTS
- CMP.W #$FFFF,MODE
- BEQ DOWN
- ADD.L #[16*80],ZEIGER
- ADD.B #1,COUNT
- CMP.B #10,COUNT
- BNE.S EXIT199
- MOVE.W #$FFFF,MODE
- MOVE.B #0,COUNT
- RTS
- DOWN:
- SUB.L #[16*80],ZEIGER
- MOVE.L #$50000,D1
- CMP.L ZEIGER,D1
- BNE.S EXIT199
- MOVE.W #$0000,MODE
- EXIT199:RTS
- ZEIGER: DC.L $50000
- MODE: DC.W 0
- COUNT: DC.B 0
- EVEN
- DELAY: DC.W 0
- POS: DC.L 0
- POSX2: DC.L 0
- OVERPOS: DC.L $60004-[2*80]
- BLITOBJECT:
- MOVE.L OVERPOS,A0
- CLR.L D0
- CLR.L D1
- CLR.L D2
- MOVE.L A0,D1
- LEA SINTAB,A1
- ADD.L POS,A1
- MOVE.B (A1),D0
- MOVE.B #80,D2
- MULU D0,D2
- MOVE.L #[80*100],D4
- SUB.L D2,D4
- ADD.L D4,D1
- NOCONT: BSR.L CONT2
- BSR.L CHANGEPOS
-
- MOVE.L OVERPOS,A0
- CLR.L D0
- CLR.L D1
- CLR.L D2
- MOVE.L A0,D1
- LEA SINTAB,A1
- ADD.L DPOS,A1
- MOVE.B (A1),D0
- MOVE.B #80,D2
- MULU D0,D2
- MOVE.L #[80*100],D4
- SUB.L D2,D4
- ADD.L D4,D1
- ADD.L #8,D1
- BSR.L CHANGEPOS
- BSR.L CONT3
-
- MOVE.L OVERPOS,A0
- CLR.L D0
- CLR.L D1
- CLR.L D2
- MOVE.L A0,D1
- LEA SINTAB,A1
- ADD.L DPO,A1
- MOVE.B (A1),D0
- MOVE.B #80,D2
- MULU D0,D2
- MOVE.L #[80*100],D4
- SUB.L D2,D4
- ADD.L D4,D1
- ADD.L #16,D1
- BSR.L CHANGEPOS
- BSR.L CONT4
- MOVE.L OVERPOS,A0
- CLR.L D0
- CLR.L D1
- CLR.L D2
- MOVE.L A0,D1
- LEA SINTAB,A1
- ADD.L POS4,A1
- MOVE.B (A1),D0
- MOVE.B #80,D2
- MULU D0,D2
- MOVE.L #[80*100],D4
- SUB.L D2,D4
- ADD.L D4,D1
- ADD.L #24,D1
- BSR.L CHANGEPOS
- BSR.L CONT5
- RTS
-
- CONT2: CMP.W #0,UPN
- BEQ.S PP1
- CMP.W #1,UPN
- BEQ.S PP2
- PP1: ADD.L #2,POS
- CMP.L #60,POS
- BEQ PP1C
- RTS
- PP1C: MOVE.W #1,UPN
- RTS
- PP2: SUB.L #2,POS
- CMP.L #2,POS
- BEQ PP2C
- RTS
- PP2C: MOVE.W #0,UPN
- RTS
- UPN: DC.W 0
-
- CONT3: CMP.W #0,DUPN
- BEQ.S DPP1
- CMP.W #1,DUPN
- BEQ.S DPP2
- DPP1: ADD.L #2,DPOS
- CMP.L #60,DPOS
- BEQ DPP1C
- RTS
- DPP1C: MOVE.W #1,DUPN
- RTS
- DPP2: SUB.L #2,DPOS
- CMP.L #2,DPOS
- BEQ DPP2C
- RTS
- DPP2C: MOVE.W #0,DUPN
- RTS
- DUPN: DC.W 1
- DPOS: DC.L 20
-
- CONT4: CMP.W #0,DUP
- BEQ.S DPP
- CMP.W #1,DUP
- BEQ.S DPP22
- DPP: ADD.L #2,DPO
- CMP.L #60,DPO
- BEQ DPP4
- RTS
- DPP4: MOVE.W #1,DUP
- RTS
- DPP22: SUB.L #2,DPO
- CMP.L #2,DPO
- BEQ DPP22C
- RTS
- DPP22C: MOVE.W #0,DUP
- RTS
- DUP: DC.W 1
- DPO: DC.L 40
-
- CONT5: CMP.W #0,DUP5
- BEQ.S DPP5
- CMP.W #1,DUP5
- BEQ.S DPP225
- DPP5: ADD.L #2,POS4
- CMP.L #60,POS4
- BEQ DPP45
- RTS
- DPP45: MOVE.W #1,DUP5
- RTS
- DPP225: SUB.L #2,POS4
- CMP.L #2,POS4
- BEQ DPP22C5
- RTS
- DPP22C5:MOVE.W #0,DUP5
- RTS
- DUP5: DC.W 1
- POS4: DC.L 60
- COUNT22: DC.W 0
- SCROLL: SUB.W #$0033,REG
- CMP.W #$0000,REG
- BEQ.S OVERS
- RTS
- OVERS: ADD.W #1,COUNT22
- CMP.W #20,COUNT22
- BNE OVER22
- MOVE.W #0,COUNT22
- MOVE.W #0,P1
- MOVE.W #$28,P2
- OVER22: ADD.W #2,P1
- ADD.W #2,P2
- MOVE.W #$00FF,REG
- RTS
- RASTER: LEA COPPI,A0
- LEA COLORS,A1
- MOVE.W #14,D0
- MOVE.W #$7C01,D1
- GCC1: MOVE.W D1,(A0)+
- MOVE.W #$FFFE,(A0)+
- MOVE.W #$0180,(A0)+
- MOVE.W (A1)+,(A0)+
- ADD.W D3,D1
- ADD.W #$0100,D3
- DBRA D0,GCC1
- RTS
-
- SINTAB:
- DC.B $68,$68,$68,$68,$68,$68,$67,$67,$66,$66
- DC.B $65,$64,$64,$63,$62,$61,$60,$5F,$5E,$5D
- DC.B $5B,$5A,$59,$57,$56,$54,$53,$51,$4F,$4E
- DC.B $4C,$4A,$48,$46,$45,$43,$41,$3E,$3C,$3A
- DC.B $38,$36,$34,$31,$2F,$2D,$2A,$28
- DC.B $26,$23,$21,$1E,$1C,$19,$14,$12,$0F,$0C
- DC.B $0A,$07,$05,$02,$00,
- EVEN
- COLORS: DC.W 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
-